{{>licenseInfo}}
#ifndef {{prefix}}_HELPERS_H
#define {{prefix}}_HELPERS_H

#include <QJsonObject>
#include <QJsonValue>
#include <QList>
#include <QMap>

{{#cppNamespaceDeclarations}}
namespace {{this}} {
{{/cppNamespaceDeclarations}}

    void setValue(void* value, QJsonValue obj, QString type, QString complexType);
    void toJsonArray(QList<void*>* value, QJsonObject& output, QString innerName, QString innerType);
    void toJsonValue(QString name, void* value, QJsonObject& output, QString type);
    void toJsonMap(QMap<QString, void*>* value, QJsonObject& output, QString innerName, QString innerType);
    bool isCompatibleJsonValue(QString type);
    QString stringValue(QString* value);
    QString stringValue(qint32 value);
    QString stringValue(qint64 value);
    QString stringValue(bool value);

{{#cppNamespaceDeclarations}}
}
{{/cppNamespaceDeclarations}}

#endif // {{prefix}}_HELPERS_H
